package com.whit.nuoge.service.impl;

import com.whit.nuoge.dao.UserDao;
import com.whit.nuoge.dao.UsergroupDao;
import com.whit.nuoge.dao.impl.UserDaoImpl;
import com.whit.nuoge.dao.impl.UsergroupDaoImpl;
import com.whit.nuoge.pojo.Page;
import com.whit.nuoge.pojo.User;
import com.whit.nuoge.pojo.Usergroup;
import com.whit.nuoge.service.UserService;
import com.whit.nuoge.service.UsergroupService;

import java.util.List;

public class UserServiceImpl implements UserService {

    UserDao userDao = new UserDaoImpl();

    @Override
    public int save(User usergroup) {
        return userDao.save(usergroup);
    }

    @Override
    public int update(User usergroup) {
        return userDao.update(usergroup);
    }

    @Override
    public int deleteById(Integer id) {
        return userDao.deleteById(id);
    }


    @Override
    public User queryById(Integer id) {
        return userDao.queryById(id);
    }

    @Override
    public Page<User> pageByQueryString(Integer pageNo, Integer pageSize, String queryString) {
        Page<User> page = new Page<>();

        page.setPageSize(pageSize);
        Integer pageCount = userDao.queryForPageCountByQueryString(queryString);
        page.setPageCount(pageCount);
        Integer pageTotal = pageCount / pageSize;
        if (pageCount % pageSize > 0) {
            pageTotal++;
        }
        page.setPageTotal(pageTotal);

        page.setPageNo(pageNo);

        Integer begin = ( page.getPageNo() - 1 ) * page.getPageSize();
        if(begin<0){
            begin = 0;
        }
        List<User> items = userDao.queryForPageItemsByQueryString(begin,page.getPageSize(),queryString);
        page.setItems(items);

        return page;
    }
}
